package model

import (
	"gorm.io/gorm"
	"shop-api/databases/mysql"
	"time"
)

type Coupon struct {
	Base
	Description  string    `json:"description"`                   // 优惠券描述
	Discount     string    `gorm:"not null" json:"discount"`      // 折扣金额/折扣比例
	DiscountType string    `gorm:"not null" json:"discount_type"` // 折扣类型: "fixed" (固定金额) 或 "percentage" (百分比)
	MinAmount    string    `json:"min_amount"`                    // 最低消费金额
	ValidTo      time.Time `json:"valid_to"`                      // 有效期结束
}

func (m *Coupon) GetCoupon(id uint) (*Coupon, error) {
	return m, mysql.WithClient(func(db *gorm.DB) error {
		return db.Where("id = ?", id).First(&m).Error
	})
}
